package com.itheima.stargraph.service;

import com.openai.client.OpenAIClient;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * Ollama接口调用组件类
 *
 * @Author mr.wu
 * @Date 2025-6-11 9:54
 */
@Component
public class OllamaService {

    @Autowired
    private OpenAIClient openAIClient;

    @Value("${ollama.model}")
    private String model;

    /**
     * 将用户输入的提示词翻译成英文
     * @param prompt
     * @return
     */
    public String translate(String prompt) {

        //构建对话参数
        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addSystemMessage("你是一个专业的翻译助手，专注于中英互译。接下来用户提问的内容都要用英文回答！")//定义用户角色提示词
                .addUserMessage(prompt) //用户提示词
                .model(model)//模型名称
                .build();

        //发起对话接口调用
        ChatCompletion chatCompletion = openAIClient.chat().completions().create(params);

        //获取调用接口返回的结果（翻译的英文结果）
        String result = chatCompletion.choices().get(0).message().content().orElse(null);
        return result;
    }
}
